# -*- coding: utf-8 -*-

import py_global
import logging

logger = logging.getLogger(__name__)


def py_copy():
    class Object(object):

        def __init__(self, filed='world'):
            self.filed = filed
            pass

        pass

    import copy
    obj = Object('hello')
    # 深拷贝：修改原对象的属性，深拷贝对象的属性保存不变
    bak = copy.deepcopy(obj)
    # 浅拷贝：修改原对象的属性，浅拷贝对象的属性跟随变化
    tmp = copy.copy(obj)
    obj.filed = 'filed'
    logger.info(f'deepcopy={bak.filed}')
    logger.info(f'copy={tmp.filed}')
    pass



def py_uuid():
    import uuid

    # 基于时间戳、随机数，MAC地址（暴露MAC地址不安全，可使用IP地址替代）
    logger.info(uuid.uuid1())

    # python语言中没有uuid2
    # logger.info(uuid.uuid2())

    # 基于名字和命名空间的MD5
    logger.info(uuid.uuid3(uuid.uuid1(), 'name'))

    # 基于随机数：使用最多，可能出现重复
    logger.info(uuid.uuid4())

    # 基于名字和命名空间的SHA-1
    logger.info(uuid.uuid5(uuid.uuid4(), 'name'))

    pass


if __name__ == '__main__':
    # py_copy()
    # py_uuid()
    pass
